-- Decompiled with the Synapse X Luau decompiler.

local l__ClientOHOH__1 = _G.ClientOHOH;
local l__table__1 = table;
local v2 = {};
local function u2(p1, p2, p3, p4)
	p2(p3, l__table__1.unpack(p4));
end;
local function u3(p5, p6, p7, p8, p9, p10)
	p8(p9, p6, p7, l__table__1.unpack(p10));
end;
function v2.start(p11, p12)
	if p12.start then
		p11:AddProcess(u2, p12.start, p12.object, p12.args);
	end;
	if p12.hold then
		local v3 = p11.__update_cnnts[p12.name];
		if v3 then
			v3:Disconnect();
		end;
		p11.__update_cnnts[p12.name] = p11:AddUpdate(u3, nil, p12.hold, p12.object, p12.args);
	end;
end;
function v2.over(p13, p14)
	if p14.over then
		p13:AddProcess(u2, p14.over, p14.object, p14.args);
	end;
	local v4 = p13.__update_cnnts[p14.name];
	if v4 then
		v4:Disconnect();
		p13.__update_cnnts[p14.name] = nil;
	end;
end;
local u4 = l__ClientOHOH__1.class.new(script, l__ClientOHOH__1.files.BaseComponent());
function u4.new(p15)
	return u4(p15);
end;
local u5 = {
	[Enum.UserInputState.Begin] = "start", 
	[Enum.UserInputState.End] = "over"
};
function u4.ctor(p16, p17)
	u4.super.ctor(p16, p17);
	p16.__update_cnnts = {};
	p16.__params = {};
	function p16.__public_handle(p18, p19, p20)
		local v5 = p16.__params[p18];
		if v5 then
			local v6 = v2[u5[p19]];
			if v6 then
				v6(p16, v5);
			end;
		end;
	end;
end;
function u4.dtor(p21)
	u4.super.dtor(p21);
end;
local l__ContextActionService__6 = game:GetService("ContextActionService");
function u4.BindAction(p22, p23, p24, p25, p26, p27, p28, p29, ...)
	if p22.__params[p23] then
		p22:UnBindAction(p23);
	end;
	p22.__params[p23] = {
		name = p23, 
		start = p25, 
		hold = p26, 
		over = p27, 
		object = p29, 
		args = { ... }
	};
	l__ContextActionService__6:BindActionAtPriority(p23, p22.__public_handle, p28, 100, p24);
end;
function u4.UnBindAction(p30, p31)
	l__ContextActionService__6:UnbindAction(p31);
	local v7 = p30.__params[p31];
	local v8 = p30.__update_cnnts[p31];
	if v8 and not v8:IsConnected() then
		v8:Disconnect();
		p30.__update_cnnts[p31] = nil;
	end;
end;
return u4;
